Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
03-10-2025

Inwerkingtreding:
03-10-2025

20.2 Wat is het weerstandsvermogen?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 20.2.0
2# Parameters: ?peildatum, ?startperiode, ?eindperiode
3# Ontologie: versie 3.0.0 of nieuwer
4
5PREFIX onz-fin: <http://purl.org/ozo/onz-fin#>
6PREFIX onz-g:   <http://purl.org/ozo/onz-g#>
7PREFIX xsd:     <http://www.w3.org/2001/XMLSchema#>
8
9SELECT
10  ("Weerstandsvermogen" AS ?Kental)
11  ( 
12    IF(
13      BOUND(?bedrijfsopbrengsten) && (?bedrijfsopbrengsten != 0),
14      (xsd:decimal(?eigenvermogen) / xsd:decimal(?bedrijfsopbrengsten)),
15      "Ongedefinieerd"
16    ) AS ?Waarde
17  )
18
19  #Werkkapitaal
20WHERE {
21  {
22    SELECT
23      (SUM(IF(?jaarrekeningpost = "D Eigen vermogen", ?bedrag, 0)) AS ?eigenvermogen )
24    WHERE {
25      {
26        SELECT ?jaarrekeningpost (SUM(?bedrag_rubriek) AS ?bedrag)
27        WHERE {
28
29          {
30            SELECT ?rubriek ?categorie ((SUM(?geld_bedrag) + SUM(?saldo_waarde) / COUNT(?saldo_waarde)) AS ?bedrag_rubriek)
31            WHERE {
32              # BIND("2024-12-31"^^xsd:date AS ?peildatum)
33              BIND(?peildatum AS ?peildatum_argument)
34              {
35                SELECT DISTINCT ?rubriek WHERE {
36                  ?rubriek a onz-fin:Grootboekrubriek .
37                  FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$"))
38                }
39              }
40              BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
41              BIND(
42                COALESCE(
43
44                  # Rubriek D
45                  IF(STRSTARTS(?rubriekCode, "0511"), "D.I", ?unbound),
46                  IF(STRSTARTS(?rubriekCode, "05413"), "D.IV", ?unbound),
47                  IF(STRSTARTS(?rubriekCode, "05311") || STRSTARTS(?rubriekCode, "05342") || STRSTARTS(?rubriekCode, "05423"), "D.V", ?unbound),
48                  IF(STRSTARTS(?rubriekCode, "05323"), "D.VI", ?unbound),
49                  IF(STRSTARTS(?rubriekCode, "0539") || STRSTARTS(?rubriekCode, "05493") || STRSTARTS(?rubriekCode, "05915"), "D.VII", ?unbound),
50                  IF(STRSTARTS(?rubriekCode, "091"), "D.VIII", ?unbound),
51                  "other"
52                ) AS ?categorie
53              )
54              FILTER(?categorie IN ("D.I","D.II", "D.III","D.IV", "D.V", "D.VI", "D.VII", "D.VIII"))
55              OPTIONAL {
56                ?rubriek onz-g:isAbout ?saldo .
57                ?saldo a onz-fin:EindSaldo ;
58                       onz-fin:heeftGeldBedrag ?saldo_bedrag ;
59                       onz-g:hasDate ?saldo_datum .
60                FILTER(?saldo_datum <= ?peildatum_argument)
61              }
62              FILTER NOT EXISTS {
63                ?rubriek onz-g:isAbout ?otherSaldo .
64                ?otherSaldo a onz-fin:EindSaldo ;
65                            onz-g:hasDate ?otherDatum .
66                FILTER(
67                  ?otherSaldo != ?saldo
68                  && ?otherDatum <= ?peildatum_argument
69                  && ?otherDatum > ?saldo_datum
70                )
71              }
72              BIND(IF(BOUND(?saldo_bedrag), ?saldo_bedrag, 0) AS ?saldo_waarde)
73              OPTIONAL {
74                ?post a onz-fin:Grootboekpost ;
75                      onz-g:partOf ?rubriek ;
76                      onz-g:hasDate ?datum ;
77                      onz-fin:heeftGeldBedrag ?geld_bedrag_temp .
78                FILTER(
79                  ?datum <= ?peildatum_argument
80                  && (!BOUND(?saldo_datum) || ?datum > ?saldo_datum)
81                )
82              }
83              BIND(IF(BOUND(?geld_bedrag_temp), ?geld_bedrag_temp, 0) AS ?geld_bedrag)
84            }
85            GROUP BY ?rubriek ?categorie
86          }
87          VALUES (?categorie ?jaarrekeningpost) {
88            ("D.I"    "D Eigen vermogen")
89            ("D.IV"   "D Eigen vermogen")
90            ("D.V"    "D Eigen vermogen")
91            ("D.VI"   "D Eigen vermogen")
92            ("D.VII"  "D Eigen vermogen")
93            ("D.VIII" "D Eigen vermogen")
94          }
95        }
96        GROUP BY ?jaarrekeningpost
97      }
98    }
99  }
100
101  # Bedrijfsopbrengsten (P)
102  {
103    SELECT ((?p_totaal) AS ?bedrijfsopbrengsten)
104    WHERE {
105      {
106        SELECT (SUM(?p_bedrag) AS ?p_totaal)
107        WHERE {
108          # BIND("2024-01-01"^^xsd:date AS ?startperiode)
109          # BIND("2024-12-31"^^xsd:date AS ?eindperiode)
110          {
111            SELECT DISTINCT ?rubriek WHERE {
112              ?rubriek a onz-fin:Grootboekrubriek .
113              FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$"))
114            }
115          }
116          BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
117          ?post a onz-fin:Grootboekpost ;
118                onz-g:partOf ?rubriek ;
119                onz-g:hasDate ?datum ;
120                onz-fin:heeftGeldBedrag ?geld_bedrag .
121          FILTER(?datum >= ?startperiode && ?datum <= ?eindperiode)
122          BIND(
123                IF(
124                    STRSTARTS(?rubriekCode, "81") ||
125                    STRSTARTS(?rubriekCode, "82") ||
126                    STRSTARTS(?rubriekCode, "83") ||
127                    STRSTARTS(?rubriekCode, "89") ||
128                    STRSTARTS(?rubriekCode, "919") ||
129                    STRSTARTS(?rubriekCode, "920") ||
130                    STRSTARTS(?rubriekCode, "930"),
131                    ?geld_bedrag, 0
132            ) AS ?p_bedrag
133          )
134        }
135      }
136    }
137  }
138}
139ORDER BY ?Kental
140